package com.jintian.smart.kernel.core.flow;

import com.jintian.smart.kernel.core.annotation.flow.FlowOperate;
import com.jintian.smart.kernel.core.annotation.flow.TaskOperate;

import java.util.Map;

public interface IProcessAction<T> {
	FlowAction getAction();

	@FlowOperate
	T execute(String processInstanceId, ProcessControl ProcessControl) throws Exception;

    @TaskOperate
    ProcessControl queryProcessControl(String taskId, Map<String, Object> transientVariables) throws Exception;
}
